package com.gopay.bis.dao.bankorder;

import com.gopay.common.base.dao.BaseDAO;
import com.gopay.common.domain.bis.BisBankContractSerialInfo;

/**
 * 签约流水表接口
 * 
 * @BankContractSerialInfoDAO.java
 * @author zhengxue
 * @2016-12-14 下午3:00:16 www.gopay.com.cn Inc.All rights reserved.
 */
public interface BankContractSerialInfoDAO extends BaseDAO<BisBankContractSerialInfo, String> {

    /**
     * 插入签约流水信息
     * 
     * @param contractSerialInfo
     */
    public void insertContractSerialInfo(BisBankContractSerialInfo contractSerialInfo);

    /**
     * 根据卡号更改签约状态
     * 
     * @param contractSerialInfo
     * @return
     */
    public int updateContractStateByCardNo(BisBankContractSerialInfo contractSerialInfo);

    /**
     * 根据签约流水号更改签约状态
     * 
     * @param contractSerialInfo
     * @return
     */
    public int updateContractStateBySerialNum(BisBankContractSerialInfo contractSerialInfo);

    /**
     * 根据流水号获取签约信息记录
     * 
     * @param contractSerialInfo
     * @return
     */
    public BisBankContractSerialInfo getContractInfobySerialNum(BisBankContractSerialInfo contractSerialInfo);

    /**
     * 根据卡号获取签约流水信息记录
     * 
     * @param contractSerialInfo
     * @return
     */
    public BisBankContractSerialInfo getContractInfobyCard(BisBankContractSerialInfo contractSerialInfo);

    /**
     * 根据卡号和四要素加密值获取签约流水信息记录
     * @param contractSerialInfo
     * @return 
     * @author ShenJun
     */
    public BisBankContractSerialInfo getContractInfobyCardAndEleValue(BisBankContractSerialInfo contractSerialInfo);
}
